#ifndef CHATTING_H
#define CHATTING_H

#include <QWidget>
#include <QTcpSocket>
#include <QDebug>
#include <vector>
#include <QLabel>
#include <QListWidget>
#include "login.h"

QT_BEGIN_NAMESPACE
namespace Ui {
class Chatting;
}
QT_END_NAMESPACE

class Chatting : public QWidget
{
    Q_OBJECT

public:
    Chatting(QWidget *parent = nullptr);
    ~Chatting();

public:
    // 添加控件
    void addControl(const QString& name);
    // 读取数据
    void readData();
    // 发送数据
    void sendData(const QString& data);
    // 构建聊天请求
    void chatRequest();
    // 发送聊天信息
    QString sendChatInfo(const QString* name = NULL);
    // 读取聊天信息
    void readChatInfo(const QString& name, const QString& msg);
    // 群聊请求
    void groupRequest();
    // 发送群聊消息
    QString sendGroupChatInfo();
    // 发送信息
    void sendInfo();
private:
    Ui::Chatting *ui;
    // socket 客户端
    QTcpSocket* sock;
    // 登录对象
    Login* l;
    std::vector<QLabel*> titles;
    std::vector<QListWidget*> chats;
};
#endif // CHATTING_H
